A mobile ad-hoc network (MANET) is an autonomous system that includes communication devices connected by wireless links. The communication devices are free to move randomly and organize themselves arbitrarily. Thus the network topology and connectivity may change rapidly and unpredictably. Unlike a network with infrastructure support, each communication device in a MANET acts as a router, forwarding data packets to other communication devices. A communication device communicates with one or multiple communication devices within the coverage of the signal transmitted over the wireless link. If a pair of source and destination communication devices is not in each other's communication range, data packets will be forwarded to the destination by the relaying communication devices located between the source and destination. A general architecture of MANET is shown in FIG. 1.
FIG. 1 illustrates a conventional MANET 100.
MANET 100 includes a communication device 102, 104, 106, 108, 110 and 112.
In this example, each communication device 102, 104, 106, 108, 110 and 112 is able to communicate with every other communication device located on MANET 100. Communication channels provide the ability to communicate bi-directionally between the communication devices. Communication device 102 may communicate bi-directionally with communication device 104 via a communication channel 122, with communication device 106 via a communication channel 118, with communication device 108 via a communication channel 114, with communication device 110 via a communication channel 116 and with communication device 112 via a communication channel 120. Communication device 104 may communicate with communication device 106 via a communication channel 124, with communication device 108 via a communication channel 126, with communication device 110 via a communication channel 128 and with communication device 112 via a communication channel 130. Communication device 106 may communicate bi-directionally with communication device 108 via a communication channel 132, with communication device 110 via a communication channel 134 and with communication device 112 via a communication channel 136. Communication device 108 may communicate bi-directionally with communication device 110 via a communication channel 140 and with communication device 112 via a communication channel 138. Communication device 110 may communicate bi-directionally with communication device 112 via a communication channel 142.
Although, each of communication channels 114, 116, 118, 120, 122, 124, 126, 128, 130, 132, 134, 136, 138, 140 and 142 are illustrated as distinct communication channels, they all share a predetermined frequency band within the wireless medium, as will be described in more detail. Communication channels are examples of communications media. Communications media typically embody computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information-delivery media. Non-limiting examples of communications media include wired media, such as wired networks and direct-wired connections, and wireless media such as acoustic, radio, infrared, and other wireless media. The term “computer-readable media” as used herein includes both storage media and communications media.
The wireless medium is shared by all the communication devices in MANET 100. Collision will occur if multiple communication devices attempt to transmit at the same time. Therefore, each communication device usually employs a carrier sense medium access (CSMA) mechanism to avoid collision. In a general CSMA scheme, a communication device first senses the channel to determine if the channel is idle. If the channel is idle, the communication device will contend for the channel for packet transmission. This will now be described in more detail.
In wireless LAN standards, for example, such as 802.11, a medium access control (MAC) layer specifies a collision avoidance and carrier sense medium access (CA-CSMA) method. One optional feature is to use the RTS/CTS (Request to Send/Clear to Send) handshaking that provides positive control over the use of the shared medium. For purposes of discussion, take an example where communication device 102 is to communicate with communication device 108. When communication device 102 has a packet to send to communication device 108, communication device 102 first senses the channel to determine if the channel is idle. If the channel is idle, communication device 102 sends a RTS packet to communication device 108. Communication device 108 receives the RTS packet and responds with a CTS packet. Communication device 102 must receive a CTS packet before sending the data packet. The CTS also contains a time value that alerts communication device 104, 106, 110 and 112 to hold off from accessing the medium while communication device 102 transmits its data. The primary reason for implementing RTS/CTS is to minimize collisions among hidden communication devices. This occurs when communication devices are spread out throughout the area and have a relatively large volume of data traffic in the wireless LAN.
Quality of Service (QoS) refers to the capability of providing service differentiation for different applications, users and/or data flows, to guarantee a certain level of performance. For example, a required transmission rate, delay and packet loss needs to be guaranteed to ensure the service quality. Voice application has a stringent delay requirement but does not require a high transmission rate. File transfer usually needs high transmission rate and no packet loss but can tolerate certain transmission delay. Streaming video application on the other hand requires both small delay and high transmission rate. QoS guarantees are very important when the network capacity is insufficient. Mechanisms need to be designed to ensure the QoS requirements while managing the limited resources in an optimal and efficient way. Since the wireless medium is always a limited resource and shared with many communication devices/users, efficient MAC and QoS scheduling mechanisms are necessary when supporting different applications and data flows.
The wireless medium is time varying and has dynamic characteristics from communication device to communication device. Different communication devices may experience very different channel quality depending on the locations. Each communication device itself may experience varying channel quality over time as well. For example, although communication device 102, 104 and 108 may share the same wireless medium and therefore frequency band, a communication device may perceive a very different characteristic of communication channel 114 as compared to communication channel 122.
The channel quality is a channel characteristic that affects the effective transmission data rate. In general, when the channel quality is good, a communication device can transmit at a higher data rate. When the channel quality is bad, a communication device can only transmit at a low data rate and/or have large packet loss. The medium may be more efficiently used if each communication device can probe the channel quality and select the best time to transmit its data. When a communication device is not sending data, other communication devices can be selected to transmit when the channel quality is good. The variation of channel quality in time and user domains can be exploited to gain significant improvement in transmission efficiency. This is sometimes called time diversity gain and user diversity gain.
Conventional MAC mechanism lacks any coordination among the communication devices, especially in an ad-hoc network environment. For example, communication device 102 may contend for the wireless medium whenever it has a packet to send. Communication device 102 will utilize the wireless medium when other communication devices are not transmitting. Communication device 102 does not take consideration of the time varying characteristics of the wireless medium and multiple users, and thus cannot fully explore the time diversity and user diversity gain. There is also no existing MAC scheduling algorithm to support the QoS requirement for different applications. When communication device 102 has packets for multiple data flows, it selects a packet to send based on first-come first-serve discipline. QoS cannot be guaranteed in this mechanism.
What is needed is a system and method for efficient MAC and scheduling methods in a distributed manner to optimize a MANET throughput and performance.